termgraphでターミナル上にグラフを表示する
はじめに
ターミナル上にグラフを描画するコマンドラインツールの termgraph を試してみました。 え、ターミナルにグラフってどういうこと?と思ってたんですが、README見て納得でした。
今回はこのツールを使って、Developers.IOの年間投稿本数をグラフにしてみます。
検証環境
- macOS: 10.12.6
- Python: 3.7.0
- Pipenv: 2018.05.18
- termgraph: (バージョンなし)
試す
データを作成
データを作成します。投稿本数は下記ブログエントリから取得しました。
2011 509 2012 529 2013 1149 2014 1471 2015 1941 2016 2732 2017 2889
グラフを表示する
早速グラフを表示してみましょう。まず、Pythonの実行環境を用意して依存ライブラリをインストールします。
$ pipenv install --python 3.7.0 $ pipenv install colorama $ pipenv shell
termgraphは2018/7/28時点だとリポジトリからスクリプトをダウンロードして使う前提のようです。今回はリポジトリごとダウンロードしてみます。
$ git clone https://github.com/mkaz/termgraph
用意したデータを表示します。
$ python termgraph/termgraph.py developers-io.dat 2011: ▏ 509.00 2012: ▏ 529.00 2013: ▇▇▇▇▇▇▇▇▇▇▇▇▇ 1149.00 2014: ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 1471.00 2015: ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 1941.00 2016: ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 2732.00 2017: ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 2889.00
ターミナル上にテキストで描画しているので、コードブロックに貼り付けても違和感ないですね!オプションで色を指定することもできるようです。
今回はデフォルトのフォーマットで表示しましたが、スタックグラフにも対応しているようです。以下はtermgraphのリポジトリにあるサンプルデータをスタックグラフで表示したものです。リポジトリのスナップショットと色合いが違うので実行環境に依存するものと思います。
おわりに
いかがでしたでしょうか。個人的にはターミナルにグラフを描画するという発想がなかったので非常に新鮮でした。簡単なデータを可視化してチャットツールで共有する際に使ってみたいと思います。